{% if authentication.mode is vyos_defined('local') %}
[chap-secrets]
chap-secrets={{ chap_secrets_file }}
{% elif authentication.mode is vyos_defined('radius') %}
[radius]
verbose=1
{%     for server, options in authentication.radius.server.items() if not options.disable is vyos_defined %}
{%         set _server_cfg = "server=" %}
{%         set _server_cfg = _server_cfg + server %}
{%         set _server_cfg = _server_cfg + "," + options.key %}
{%         set _server_cfg = _server_cfg + ",auth-port=" + options.port %}
{%         set _server_cfg = _server_cfg + ",acct-port=" + options.acct_port %}
{%         set _server_cfg = _server_cfg + ",req-limit=0" %}
{%         set _server_cfg = _server_cfg + ",fail-time=" + options.fail_time %}
{%         if options.priority is vyos_defined %}
{%             set _server_cfg = _server_cfg + ",weight=" + options.priority %}
{%         endif %}
{%         if options.backup is vyos_defined %}
{%             set _server_cfg = _server_cfg + ",backup" %}
{%         endif %}
{{ _server_cfg }}
{%     endfor %}
{%     if authentication.radius.accounting_interim_interval is vyos_defined %}
acct-interim-interval={{ authentication.radius.accounting_interim_interval }}
{%     endif %}
{%     if authentication.radius.acct_interim_jitter is vyos_defined %}
acct-interim-jitter={{ authentication.radius.acct_interim_jitter }}
{%     endif %}
acct-timeout={{ authentication.radius.acct_timeout }}
timeout={{ authentication.radius.timeout }}
max-try={{ authentication.radius.max_try }}
{%     if authentication.radius.nas_identifier is vyos_defined %}
nas-identifier={{ authentication.radius.nas_identifier }}
{%     endif %}
{%     if authentication.radius.nas_ip_address is vyos_defined %}
nas-ip-address={{ authentication.radius.nas_ip_address }}
{%     endif %}
{%     if authentication.radius.source_address is vyos_defined %}
bind={{ authentication.radius.source_address }}
{%     endif %}
{%     if authentication.radius.dynamic_author.server is vyos_defined %}
dae-server={{ authentication.radius.dynamic_author.server }}:{{ authentication.radius.dynamic_author.port }},{{ authentication.radius.dynamic_author.key }}
{%     endif %}
{% endif %}
{# Both chap-secrets and radius block required the gw-ip-address #}
{% if authentication.mode is vyos_defined('local') or authentication.mode is vyos_defined('radius') %}
{%     if gateway_address is vyos_defined %}
{%         if server_type == 'ipoe' %}
{%             for gw in gateway_address %}
{%                 set host_address, _ = gw.split('/') %}
gw-ip-address={{ host_address }}
{%             endfor %}
{%         else %}
gw-ip-address={{ gateway_address }}
{%         endif %}
{%     endif %}
{% endif %}

